package city.spring.modules.cardinfo.entity;

import city.spring.configure.SequenceKey;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 实体类：卡号信息
 *
 * @author pxm
 * @date 2020-12-25 09:18:46
 */
@Data
@TableName("card_employee")
public class CardEmployeeEntity implements Serializable {

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 会员卡号
     * 保存会员卡信息时自动生成，并且该卡号不允许修改
     */
    @SequenceKey("MemberCard")
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private String memberCard;

    /**
     * 上次的物理号
     */
    private String lastPhysicsCard;

    /**
     * 物理卡号
     */
    private String physicsCard;

    /**
     * 绑定人员
     */
    private String person;

    /**
     * 人员类型
     */
    private String personType;

    /**
     * 开通时间
     */
    private LocalDateTime openingTime;

    /**
     * 卡余额
     */
    private BigDecimal balance;

    /**
     * 预存余额
     */
    private BigDecimal depositBalance;

    /**
     * 卡状态
     */
    private String states;

    /**
     * 是否使用
     */
    private String used;

    /**
     * 累计消费
     */
    private Double totalConsumption;

    /**
     * 上次消费
     */
    private String lastConsumption;

    /**
     * 创建时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private LocalDateTime gmtCreate;

    /**
     * 更新时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private LocalDateTime gmtModified;

    @TableField(exist = false)
    private boolean completion = true;
}